[INFO] cloning repository https://github.com/Norbi0801/mcp-audit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Norbi0801/mcp-audit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorbi0801%2Fmcp-audit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorbi0801%2Fmcp-audit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 03350c05494117ab3d9d919837a3a9a283408d47
[INFO] testing Norbi0801/mcp-audit against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorbi0801%2Fmcp-audit" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Norbi0801/mcp-audit
[INFO] finished tweaking git repo https://github.com/Norbi0801/mcp-audit
[INFO] tweaked toml for git repo https://github.com/Norbi0801/mcp-audit written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Norbi0801/mcp-audit on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Norbi0801/mcp-audit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1c0736187bf8cfc4ff1dfa896e6624526bf99a33fa37112fd4c1996813ec61ca
[INFO] running `Command { std: "docker" "start" "-a" "1c0736187bf8cfc4ff1dfa896e6624526bf99a33fa37112fd4c1996813ec61ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c0736187bf8cfc4ff1dfa896e6624526bf99a33fa37112fd4c1996813ec61ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c0736187bf8cfc4ff1dfa896e6624526bf99a33fa37112fd4c1996813ec61ca", kill_on_drop: false }`
[INFO] [stdout] 1c0736187bf8cfc4ff1dfa896e6624526bf99a33fa37112fd4c1996813ec61ca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa3c8038512a45912db724c654a1c5d63385bf36ac7db7cc524c7acba325bfb2
[INFO] running `Command { std: "docker" "start" "-a" "aa3c8038512a45912db724c654a1c5d63385bf36ac7db7cc524c7acba325bfb2", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling spinning_top v0.3.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling no-std-compat v0.4.1
[INFO] [stderr]    Compiling nonzero_ext v0.3.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling governor v0.8.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling mcp-audit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "aa3c8038512a45912db724c654a1c5d63385bf36ac7db7cc524c7acba325bfb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa3c8038512a45912db724c654a1c5d63385bf36ac7db7cc524c7acba325bfb2", kill_on_drop: false }`
[INFO] [stdout] aa3c8038512a45912db724c654a1c5d63385bf36ac7db7cc524c7acba325bfb2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3bf33c599d143b763589ad4f2a0950b5031314dac23b7f5d56c8406a10f039d2
[INFO] running `Command { std: "docker" "start" "-a" "3bf33c599d143b763589ad4f2a0950b5031314dac23b7f5d56c8406a10f039d2", kill_on_drop: false }`
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling governor v0.8.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling mcp-audit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 46.15s
[INFO] running `Command { std: "docker" "inspect" "3bf33c599d143b763589ad4f2a0950b5031314dac23b7f5d56c8406a10f039d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bf33c599d143b763589ad4f2a0950b5031314dac23b7f5d56c8406a10f039d2", kill_on_drop: false }`
[INFO] [stdout] 3bf33c599d143b763589ad4f2a0950b5031314dac23b7f5d56c8406a10f039d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] beef0ba38d1f915fd5b247222463ecd904ee907bdf554336e8033d39617c2192
[INFO] running `Command { std: "docker" "start" "-a" "beef0ba38d1f915fd5b247222463ecd904ee907bdf554336e8033d39617c2192", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mcp_audit-6aea67dd4de82ddf)
[INFO] [stdout] 
[INFO] [stdout] running 669 tests
[INFO] [stdout] test connection::protocol::tests::deserialize_initialize_result_minimal ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_jsonrpc_response_error ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_initialize_result_full ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_jsonrpc_response_error_with_data ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_jsonrpc_response_success ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_prompts_list_result ... ok
[INFO] [stdout] test connection::protocol::tests::roundtrip_server_capabilities ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_minimal_tool_defaults ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_tools_list_with_cursor ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_resources_list_result ... ok
[INFO] [stdout] test connection::protocol::tests::serialize_jsonrpc_request_with_params ... ok
[INFO] [stdout] test connection::protocol::tests::serialize_jsonrpc_notification ... ok
[INFO] [stdout] test connection::protocol::tests::serialize_initialize_params_camel_case ... ok
[INFO] [stdout] test connection::protocol::tests::serialize_jsonrpc_request_without_params ... ok
[INFO] [stdout] test connection::tests::config_detection_http ... ok
[INFO] [stdout] test connection::tests::config_detection_stdio ... ok
[INFO] [stdout] test connection::tests::client_handles_tools_fetch_failure_gracefully ... ok
[INFO] [stdout] test connection::tests::client_full_initialization ... ok
[INFO] [stdout] test connection::tests::config_detection_sse ... ok
[INFO] [stdout] test connection::protocol::tests::server_capabilities_default_all_none ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_prompt_no_arguments ... ok
[INFO] [stdout] test connection::tests::client_tools_only ... ok
[INFO] [stdout] test connection::transport::tests::extract_result_neither ... ok
[INFO] [stdout] test connection::tests::from_server_config_no_command_or_url_fails ... ok
[INFO] [stdout] test connection::tests::client_no_server_info ... ok
[INFO] [stdout] test connection::tests::http_transport_type_equality ... ok
[INFO] [stdout] test connection::transport::tests::extract_result_error ... ok
[INFO] [stdout] test connection::transport::tests::mock_transport_error_when_empty ... ok
[INFO] [stdout] test connection::tests::client_no_capabilities ... ok
[INFO] [stdout] test connection::transport::tests::extract_result_success ... ok
[INFO] [stdout] test connection::protocol::tests::deserialize_tools_list_result ... ok
[INFO] [stdout] test connection::tests::server_info_default_values ... ok
[INFO] [stdout] test connection::transport::tests::mock_transport_records_notifications ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_crlf_line_endings ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_empty_data ... ok
[INFO] [stdout] test connection::transport::tests::sse_event_without_type ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_data_with_no_space_after_colon ... ok
[INFO] [stdout] test connection::tests::server_info_serializable ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_endpoint_event ... ok
[INFO] [stdout] test connection::transport::tests::mock_transport_returns_responses_in_order ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_simple_event ... ok
[INFO] [stdout] test connection::tests::disconnect_does_not_panic ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_large_chunked_json ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_incremental_feed ... ok
[INFO] [stdout] test connection::transport::tests::sse_skip_event_without_data ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_with_comments ... ok
[INFO] [stdout] test digest::tests::test_digest_period_iso_week_label ... ok
[INFO] [stdout] test digest::tests::test_build_digest_with_seo ... ok
[INFO] [stdout] test digest::tests::test_build_digest ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_multiline_data ... ok
[INFO] [stdout] test digest::tests::test_digest_period_last_week ... ok
[INFO] [stdout] test digest::tests::test_statistics_top_languages ... ok
[INFO] [stdout] test digest::tests::test_statistics_severity_breakdown ... ok
[INFO] [stdout] test digest::tests::test_empty_digest ... ok
[INFO] [stdout] test http::client::tests::parse_retry_after_header ... ok
[INFO] [stdout] test init::tests::format_string_array_empty ... ok
[INFO] [stdout] test init::tests::all_rule_ids_returns_all ... ok
[INFO] [stdout] test init::tests::format_string_array_long_goes_multiline ... ok
[INFO] [stdout] test init::tests::format_string_array_short ... ok
[INFO] [stdout] test init::tests::from_file_returns_error_for_missing_file ... ok
[INFO] [stdout] test connection::transport::tests::sse_parse_multiple_events ... ok
[INFO] [stdout] test init::tests::normalize_path_returns_absolute_outside_cwd ... ok
[INFO] [stdout] test init::tests::normalize_path_returns_relative_under_cwd ... ok
[INFO] [stdout] test http::client::tests::get_invalid_url_returns_config_error ... ok
[INFO] [stdout] test http::client::tests::client_builds_with_tokens ... ok
[INFO] [stdout] test http::client::tests::client_builds_without_tokens ... ok
[INFO] [stdout] test monitors::adoption::tests::test_downloads_to_severity ... ok
[INFO] [stdout] test monitors::adoption::tests::test_format_number ... ok
[INFO] [stdout] test init::tests::render_toml_contains_rule_name_comments ... ok
[INFO] [stdout] test init::tests::generate_ci_config_has_strict_defaults ... ok
[INFO] [stdout] test monitors::adoption::tests::test_slug ... ok
[INFO] [stdout] test http::client::tests::get_json_connection_refused ... ok
[INFO] [stdout] test init::tests::from_file_returns_error_for_invalid_toml ... ok
[INFO] [stdout] test monitors::adoption::tests::test_stars_to_severity ... ok
[INFO] [stdout] test init::tests::render_toml_is_parseable ... ok
[INFO] [stdout] test monitors::cve::tests::test_cve_to_event_basic ... ok
[INFO] [stdout] test init::tests::generate_interactive_config_has_all_rules ... ok
[INFO] [stdout] test init::tests::render_toml_contains_comments ... ok
[INFO] [stdout] test init::tests::render_toml_ci_is_parseable ... ok
[INFO] [stdout] test monitors::cve::tests::test_severity_from_score ... ok
[INFO] [stdout] test monitors::github::tests::test_repo_to_event_basic ... ok
[INFO] [stdout] test monitors::github::tests::test_urlencoding ... ok
[INFO] [stdout] test monitors::github::tests::test_star_severity_mapping ... ok
[INFO] [stdout] test monitors::cve::tests::test_extract_cvss_empty_metrics ... ok
[INFO] [stdout] test init::tests::from_file_parses_valid_toml ... ok
[INFO] [stdout] test init::tests::write_config_creates_parent_directories ... ok
[INFO] [stdout] test init::tests::write_config_creates_file ... ok
[INFO] [stdout] test output::json::tests::test_format_events_empty ... ok
[INFO] [stdout] test init::tests::write_config_force_overwrites ... ok
[INFO] [stdout] test output::json::tests::test_format_digest_json ... ok
[INFO] [stdout] test init::tests::write_config_refuses_overwrite_without_force ... ok
[INFO] [stdout] test monitors::cve::tests::test_truncate ... ok
[INFO] [stdout] test monitors::github::tests::test_advisory_to_event ... ok
[INFO] [stdout] test monitors::owasp::tests::test_truncate ... ok
[INFO] [stdout] test output::json::tests::test_format_events_json ... ok
[INFO] [stdout] test monitors::owasp::tests::test_slug ... ok
[INFO] [stdout] test output::json::tests::test_format_scan_report_json ... ok
[INFO] [stdout] test output::markdown::tests::test_severity_badge ... ok
[INFO] [stdout] test output::markdown::tests::test_format_scan_report_no_findings ... ok
[INFO] [stdout] test output::markdown::tests::test_format_scan_report_markdown ... ok
[INFO] [stdout] test monitors::owasp::tests::test_parse_date ... ok
[INFO] [stdout] test output::markdown::tests::test_format_events_empty ... ok
[INFO] [stdout] test output::sarif::tests::test_extract_server_name_from_title ... ok
[INFO] [stdout] test output::sarif::tests::test_finding_explicit_location_overrides_source_path ... ok
[INFO] [stdout] test output::markdown::tests::test_format_digest_markdown ... ok
[INFO] [stdout] test output::sarif::tests::test_finding_without_remediation_omits_help ... ok
[INFO] [stdout] test output::sarif::tests::test_events_to_sarif_conversion ... ok
[INFO] [stdout] test output::markdown::tests::test_format_events_markdown ... ok
[INFO] [stdout] test output::sarif::tests::test_empty_findings_produce_valid_sarif ... ok
[INFO] [stdout] test output::markdown::tests::test_digest_no_seo_keywords ... ok
[INFO] [stdout] test output::sarif::tests::test_events_empty_produces_valid_sarif ... ok
[INFO] [stdout] test output::sarif::tests::test_event_url_appears_in_location ... ok
[INFO] [stdout] test output::sarif::tests::test_events_rule_ids_use_source_name ... ok
[INFO] [stdout] test output::sarif::tests::test_format_digest_returns_empty_json_object ... ok
[INFO] [stdout] test output::sarif::tests::test_invocation_present ... ok
[INFO] [stdout] test output::sarif::tests::test_tool_metadata ... ok
[INFO] [stdout] test output::sarif::tests::test_remediation_in_rule_help ... ok
[INFO] [stdout] test output::sarif::tests::test_sarif_output_is_valid_json ... ok
[INFO] [stdout] test output::table::tests::test_format_digest ... ok
[INFO] [stdout] test output::sarif::tests::test_findings_map_to_correct_severity_levels ... ok
[INFO] [stdout] test output::sarif::tests::test_rules_deduplicated ... ok
[INFO] [stdout] test output::table::tests::test_format_scan_report_no_issues ... ok
[INFO] [stdout] test output::sarif::tests::test_source_path_appears_in_location ... ok
[INFO] [stdout] test output::sarif::tests::test_no_location_when_both_absent ... ok
[INFO] [stdout] test output::table::tests::test_colorize_severity ... ok
[INFO] [stdout] test output::table::tests::test_no_color_mode ... ok
[INFO] [stdout] test output::table::tests::test_format_events_with_rows ... ok
[INFO] [stdout] test output::table::tests::test_format_scan_report_table ... ok
[INFO] [stdout] test output::table::tests::test_format_events_empty ... ok
[INFO] [stdout] test output::table::tests::test_severity_to_color ... ok
[INFO] [stdout] test output::tests::test_create_formatter_json ... ok
[INFO] [stdout] test output::sarif::tests::test_scan_report_to_sarif ... ok
[INFO] [stdout] test output::sarif::tests::test_server_name_in_message ... ok
[INFO] [stdout] test output::tests::test_render_events_convenience ... ok
[INFO] [stdout] test output::tests::test_render_summary_empty ... ok
[INFO] [stdout] test output::tests::test_render_summary ... ok
[INFO] [stdout] test output::tests::test_create_formatter_table ... ok
[INFO] [stdout] test output::tests::test_truncate ... ok
[INFO] [stdout] test parser::tests::command_line_http_server ... ok
[INFO] [stdout] test parser::tests::from_server_command_bare_command ... ok
[INFO] [stdout] test parser::tests::from_server_command_npx_package ... ok
[INFO] [stdout] test parser::tests::from_server_command_empty_fails ... ok
[INFO] [stdout] test parser::tests::command_line_no_args ... ok
[INFO] [stdout] test parser::tests::from_server_command_python ... ok
[INFO] [stdout] test parser::tests::command_line_with_args ... ok
[INFO] [stdout] test digest::tests::test_digest_period_from_iso_week ... ok
[INFO] [stdout] test output::tests::test_create_formatter_markdown ... ok
[INFO] [stdout] test parser::tests::from_url_invalid_fails ... ok
[INFO] [stdout] test parser::tests::from_url_sse_endpoint ... ok
[INFO] [stdout] test parser::tests::from_url_streamable_http ... ok
[INFO] [stdout] test parser::tests::parse_config_with_env ... ok
[INFO] [stdout] test parser::tests::parse_config_missing_mcp_servers ... ok
[INFO] [stdout] test parser::tests::parse_basic_config ... ok
[INFO] [stdout] test parser::tests::parse_multiple_servers ... ok
[INFO] [stdout] test parser::tests::parse_http_server ... ok
[INFO] [stdout] test rules::mcp01_tool_poisoning::tests::non_npx_not_checked_for_packages ... ok
[INFO] [stdout] test rules::mcp01_tool_poisoning::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp01_tool_poisoning::tests::unknown_package_flagged ... ok
[INFO] [stdout] test rules::mcp01_tool_poisoning::tests::git_install_flagged ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::detects_aws_directory ... ok
[INFO] [stdout] test parser::tests::parse_empty_config ... ok
[INFO] [stdout] test rules::mcp01_tool_poisoning::tests::trusted_scope_passes ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::detects_home_dir ... ok
[INFO] [stdout] test rules::mcp01_tool_poisoning::tests::detects_typosquatting ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::detects_root_path ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::detects_home_tilde ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::detects_wildcard ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::detects_ssh_directory ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::windows_root_detected ... ok
[INFO] [stdout] test rules::mcp03_prompt_injection::tests::detects_template_syntax ... ok
[INFO] [stdout] test rules::mcp03_prompt_injection::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp03_prompt_injection::tests::safe_config_passes ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::detects_aws_key ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::detects_secret_in_args ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::ignores_placeholder_values ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::detects_slack_token ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp03_prompt_injection::tests::detects_stdin_arg ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::safe_env_passes ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::detects_openai_key ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::detects_ngrok_tunnel ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::detects_domain_typosquat ... ok
[INFO] [stdout] test rules::mcp03_prompt_injection::tests::detects_shell_interpolation ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::detects_github_token ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::allows_http_localhost ... ok
[INFO] [stdout] test rules::mcp04_insecure_credentials::tests::detects_generic_secret_by_name ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::contains_package_scoped_package ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::detects_risky_flags ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::detects_unpinned_npm ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::detects_unpinned_pip ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::pinned_npm_passes ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::no_false_positive_for_official_brave_search ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::pinned_pip_passes ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_backtick_substitution ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::detects_spoofed_name_with_custom_package ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::detects_unencrypted_http ... ok
[INFO] [stdout] test rules::mcp03_prompt_injection::tests::detects_dynamic_input_env ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::official_package_with_known_name_passes ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::detects_deprecated_package ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_bash_command ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_command_substitution ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_eval_in_shell ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_powershell ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::contains_package_exact_match ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_variable_expansion_in_shell ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::detects_db_connection_without_creds ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_shell_command ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::detects_database_connection_string ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::contains_package_no_false_positive_substring ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::safe_command_passes ... ok
[INFO] [stdout] test rules::mcp06_insecure_dependencies::tests::has_npm_version_check ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::detects_unrestricted_db_server ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::safe_paths_pass ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::detects_ssh_directory_access ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::detects_no_logging_config ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::detects_sensitive_file_access ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::logging_env_var_passes ... ok
[INFO] [stdout] test rules::mcp07_command_injection::tests::detects_shell_metacharacters_in_args ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::detects_sudo ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::detects_disabled_logging_env ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::logging_arg_passes ... ok
[INFO] [stdout] test rules::mcp08_data_exfiltration::tests::detects_env_file_access ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::http_with_auth_env_passes ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::monitoring_service_passes ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::detects_http_without_auth ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::detects_no_auth_flag ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::detects_privileged_flag ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::bare_server_has_timeout_and_size_findings ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_missing_size_limit ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_missing_timeout ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_streaming_by_transport_env ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_streaming_by_arg ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_streaming_by_url_path ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_subscribe_env_without_unsubscribe ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_subscription_without_unsubscribe ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_unbounded_sse_stream ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::detects_watch_without_unsubscribe ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::max_tokens_env_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::fully_configured_server_has_no_findings ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::http_server_without_streaming_only_gets_basic_findings ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::no_subscription_no_warning ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::non_streaming_server_no_stream_warning ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::partial_timeout_env_var_matches ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::size_limit_arg_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::size_limit_env_var_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::streamable_http_detected ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::streaming_server_with_all_protections ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::streaming_with_cancel_arg_passes ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::production_config_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::streaming_with_cancellation_passes ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::streaming_with_generic_timeout_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::all_findings_have_medium_severity ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::streaming_with_stream_timeout_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::subscription_with_max_subscriptions_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::subscription_with_ttl_passes ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::subscription_with_unsubscribe_passes ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::builtin_shadow_produces_critical_finding ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::config_with_no_servers_no_panic ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::timeout_arg_passes ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_bash_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_better_read_replacement ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_read_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_search_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_shell_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_websearch_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_write_shadow_case_insensitive ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::timeout_env_var_passes ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_custom_filesystem_replacement ... ok
[INFO] [stdout] test rules::mcp11_denial_of_service::tests::websocket_transport_detected ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_dash_underscore_near_duplicate ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_case_insensitive_duplicate_names ... ok
[INFO] [stdout] test rules::mcp02_excessive_permissions::tests::safe_path_passes ... ok
[INFO] [stdout] test rules::mcp05_server_spoofing::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp09_insufficient_logging::tests::detects_disabled_logging_flag ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::detects_auth_disabled_env ... ok
[INFO] [stdout] test rules::mcp10_unauthorized_access::tests::detects_dev_mode ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_glob_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_edit_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_grep_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_builtin_code_interpreter_shadow ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_fake_write_replacement ... ok
[INFO] [stdout] test connection::tests::client_paginated_tools ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_filesystem_shadow_wrong_package ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_github_shadow_wrong_package ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_hook_edit_replacement ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_hijack_keyword_in_args ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_intercept_fetch_replacement ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_memory_shadow_http_server ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_intercept_keyword_in_env ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_mitm_keyword_in_env_key ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_impersonate_keyword ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_override_bash_replacement ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::http_server_with_no_command_no_panic ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::multiple_checks_can_fire_for_same_server ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::no_conflict_for_distinct_names ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_shadow_keyword_in_args ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_proxy_github_replacement ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::official_github_passes ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::no_conflict_for_single_server ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::safe_name_no_builtin_finding ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::safe_prefix_no_known_tool ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::official_filesystem_passes ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_separator_removal_near_duplicate ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::empty_server_name_no_panic ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::normalize_name_removes_separators ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::acl_env_passes_acl_check ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::safe_args_no_shadowing_keywords ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::clean_path_no_traversal_finding ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_aws_directory_exposure ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::server_with_no_args_no_panic ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_double_encoded_traversal ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_credentials_json_exposure ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::detects_slack_shadow ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_env_file_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_env_production_exposure ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::unique_name_no_wellknown_finding ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_git_directory_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::allowed_paths_arg_passes_acl_check ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_docker_directory_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_backslash_traversal ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_env_file_in_resource_dir_env ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_kube_config_exposure ... ok
[INFO] [stdout] test rules::mcp12_tool_shadowing::tests::wellknown_shadow_with_wrong_package_is_critical ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_missing_access_control ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_node_modules_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_path_traversal_in_args ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_pem_file_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_proc_filesystem_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::matches_sensitive_pattern_directory ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::matches_sensitive_pattern_exact_filename ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_root_file_uri ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::matches_sensitive_pattern_with_prefix ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::no_false_positive_on_substring ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_semicolon_traversal_bypass ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::non_resource_server_skips_file_check ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::non_resource_env_key_skipped ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_sensitive_path_in_env ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::non_resource_server_no_acl_finding ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_ssh_key_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::read_only_arg_passes_acl_check ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_star_resource_uri ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_traversal_in_url ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_traversal_in_env ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_url_encoded_traversal ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_wildcard_resource_uri ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::empty_server_no_findings ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::is_resource_server_detects_filesystem_packages ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::is_resource_server_rejects_non_resource_server ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::server_with_only_url_no_crash ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::all_high_severity_findings_for_critical_issues ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::safe_resource_server_with_acl ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::sandbox_arg_passes_acl_check ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::cors_wildcard_with_tls_disabled ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::detects_ssh_directory_exposure ... ok
[INFO] [stdout] test rules::mcp13_resource_exposure::tests::sandbox_env_passes_acl_check ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::allows_http_0_0_0_0 ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::allows_http_127_0_0_1 ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::allows_http_localhost ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::cors_specific_origin_arg_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::allows_https_remote ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::cors_specific_origin_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::allows_http_ipv6_loopback ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_access_control_allow_origin_wildcard ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_cors_allowed_origins_wildcard ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_cors_wildcard_env ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_cors_env_on_http_server ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_cors_wildcard_inline_arg ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_http_without_auth ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_no_ssl_verify_arg ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_insecure_skip_tls_verify_arg ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_missing_rate_limiting ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_insecure_skip_verify ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_no_tls_verify_arg ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_curl_k_flag ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_plain_http_remote ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_ssl_verify_false ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_node_tls_reject_unauthorized ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_python_https_verify_disabled ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_ssl_false_arg ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_cors_wildcard_separate_arg ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::detects_http_with_port ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::http_with_api_key_env_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::http_with_auth_arg_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::http_with_url_basic_auth_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::http_with_auth_token_env_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::http_with_bearer_arg_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::rate_limit_arg_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::max_requests_env_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::rate_limit_env_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::rate_limiting_finding_is_medium_severity ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::ssl_verify_true_passes ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::stdio_server_no_auth_not_flagged ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::stdio_server_no_rate_limit_not_flagged ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::insecure_http_server_multiple_findings ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::secure_http_server_minimal_findings ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::case_insensitive_description_detection ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::tls_disabled_env_on_https_server ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::case_insensitive_tool_name_detection ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::command_param_with_pattern_is_medium ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::throttle_env_passes ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::boolean_query_param_ignored ... ok
[INFO] [stdout] test rules::mcp14_insecure_transport::tests::max_rps_arg_passes ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::command_param_with_enum_is_medium ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::command_param_with_max_length_is_medium ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_code_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_command_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_database_query_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_eval_code_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_eval_expression_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_exec_code_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::compound_scenario_all_checks_fire ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_expression_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_execute_code_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_param_description_shell_command ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_cmd_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_param_description_sql_to_execute ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_multiple_dangerous_tools ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_python_code_param ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_dangerous_name_in_compound_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_execute_command_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_run_command_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_param_description_code_to_evaluate ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_raw_query_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_run_shell_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_run_python_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_raw_query_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_run_sql_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_script_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_shell_exec_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_spawn_process_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_sql_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_subprocess_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_query_param_without_validation ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_sql_query_description ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_subprocess_tool_name ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::detects_where_clause_param ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::integer_command_param_ignored ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::empty_tools_list_no_findings ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::no_tools_no_findings ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::query_param_with_pattern_is_medium ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::param_description_with_constraints_no_hint_finding ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::safe_tool_name_no_findings ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::safe_tool_no_findings ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::tool_with_empty_schema_no_panic ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::tool_with_no_description_no_panic ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::safe_tool_with_enum_no_findings ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::tool_with_no_properties_no_panic ... ok
[INFO] [stdout] test rules::mcp15_tool_injection::tests::tool_with_null_schema_no_panic ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_empty_required_array ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_invalid_schema_type ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::all_path_like_params_detected ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_missing_enum_for_action ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_missing_enum_for_mode ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_nested_open_object ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::all_url_like_params_detected ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_null_schema ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_empty_schema_object ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_top_level_open_object ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_schema_without_required ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_multiple_tools_without_schema ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_tool_without_input_schema ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_unconstrained_string ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_url_parameter_as_high_severity ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::multiple_issues_on_single_tool ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::enum_candidate_names_coverage ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::flags_string_with_zero_min_length ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::no_findings_for_empty_tools_list ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_enum_parameter_with_enum ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::non_string_types_not_flagged_for_string_constraints ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_open_object_with_max_properties ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::no_findings_for_server_without_tools ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_string_with_const ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::non_enum_param_name_not_flagged ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_additional_properties_schema ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_schema_with_required ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_enum_parameter_with_const ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_string_with_enum ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_string_with_format ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_explicit_additional_properties_true ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_string_with_max_length ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_string_with_pattern ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_debug_env_var ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_credentials_json_in_args ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_path_parameter_as_high_severity ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_missing_enum_for_format ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_string_with_positive_min_length ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::detects_file_path_parameter ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_debug_flag ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_debug_tools_with_secrets ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::schema_with_only_type_no_properties ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::well_defined_tool_has_minimal_findings ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_description_credit_card ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::arg_exposes_resource_exact_match ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::arg_exposes_resource_path_suffix ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_description_no_redaction ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_description_pii ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_description_returning_env_vars ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::arg_exposes_resource_windows_paths ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::arg_exposes_resource_no_false_positives ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_description_returning_secrets ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_env_file_in_args ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_dump_secrets_tool ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_aws_credentials_in_args ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_export_users_tool ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_get_env_tool ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_get_credentials_tool ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_multiple_secrets_passthrough ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_sensitive_uri_in_tool_description ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_git_config_in_args ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_trace_log_level ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_no_redact_flag ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_log_level_debug_env ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_verbose_flag ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::collects_anyof_strings ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::safe_tools_pass ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::collects_nested_schema_strings ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::detects_ssh_key_in_args ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::checks_all_tools_in_server ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::server_without_tools_passes ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::ignores_safe_env_values ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::is_safe_value_detects_placeholders ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_auto_approval ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::is_safe_value_rejects_real_secrets ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_authority_in_schema ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::normal_env_vars_pass ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_bidi_override_in_description ... ok
[INFO] [stdout] test rules::mcp17_data_leakage::tests::safe_server_passes ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_bom_in_name ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_html_comment ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_long_base64_payload ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_cyrillic_homoglyph_in_name ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_confirmation_bypass ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_directive_in_schema_description ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_data_uri ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_escaped_zero_width_space ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_identity_manipulation ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_invisible_char_in_description ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_markdown_comment ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_case_variations ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_rtl_override_in_name ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_secrecy_directive ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_system_prompt_markers ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_output_manipulation ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_root_access_claim ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_coercion_directive ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_greek_homoglyph_in_name ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_security_bypass ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_zero_width_space_in_name ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_url_encoded_null_byte ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::no_tools_no_findings ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::empty_description_passes ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_zero_width_joiner_in_name ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::empty_tools_list_passes ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::safe_schema_passes ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::pure_cyrillic_name_not_flagged ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::short_base64_not_flagged ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::safe_tool_description_passes ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_maximally_permissive_schema_empty_properties ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::safe_tool_with_schema_passes ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_full_filesystem_access ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_maximally_permissive_schema_no_properties ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_bypass_security ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_admin_access ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_broad_schema_additional_props_no_required ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_mega_tool_description ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_open_proxy ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_shell_access_description ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::empty_tools_no_findings ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::no_tools_no_findings ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_unrestricted_network_access ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_multi_domain_tool ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_unrestricted_shell_description ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_read_any_file ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_mega_tool_name ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_swiss_army_name ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::rule_metadata ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::schema_additional_properties_false_passes ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::single_domain_tool_not_flagged_as_multi ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::well_scoped_tool_produces_no_findings ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::tool_with_schema_not_flagged_as_schemaless ... ok
[INFO] [stdout] test rules::tests::category_all_returns_all_variants ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::strict_schema_not_flagged ... ok
[INFO] [stdout] test rules::tests::all_rules_are_registered ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::non_object_schema_not_flagged_for_permissive ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::normal_tool_name_not_flagged ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::only_problematic_tools_flagged ... ok
[INFO] [stdout] test rules::tests::category_display ... ok
[INFO] [stdout] test rules::tests::category_from_owasp_id ... ok
[INFO] [stdout] test rules::tests::category_unknown_defaults_to_configuration ... ok
[INFO] [stdout] test rules::tests::engine_severity_filter ... ok
[INFO] [stdout] test rules::tests::engine_rule_id_exclude_filter ... ok
[INFO] [stdout] test rules::mcp19_excessive_tool_permissions::tests::detects_tool_without_schema ... ok
[INFO] [stdout] test rules::tests::engine_multiple_servers_per_server_results ... ok
[INFO] [stdout] test rules::tests::engine_with_mock_registry ... ok
[INFO] [stdout] test rules::tests::engine_rule_id_include_filter ... ok
[INFO] [stdout] test rules::tests::engine_category_filter ... ok
[INFO] [stdout] test rules::tests::exit_code_one_for_any_findings ... ok
[INFO] [stdout] test rules::tests::engine_builtin_scan_detects_insecure_server ... ok
[INFO] [stdout] test rules::tests::engine_skipping_rule_produces_no_findings ... ok
[INFO] [stdout] test rules::tests::failing_rule_evaluate_returns_fail ... ok
[INFO] [stdout] test rules::tests::exit_code_zero_when_clean ... ok
[INFO] [stdout] test rules::tests::list_rules_returns_metadata ... ok
[INFO] [stdout] test rules::tests::passing_rule_evaluate_returns_pass ... ok
[INFO] [stdout] test rules::tests::engine_scan_empty_config ... ok
[INFO] [stdout] test rules::tests::registry_by_category_groups_correctly ... ok
[INFO] [stdout] test rules::tests::rule_ids_are_unique ... ok
[INFO] [stdout] test rules::tests::registry_empty_has_no_rules ... ok
[INFO] [stdout] test rules::tests::rule_result_fail ... ok
[INFO] [stdout] test rules::tests::rule_result_fail_empty_is_not_fail ... ok
[INFO] [stdout] test rules::tests::registry_filter_by_severity ... ok
[INFO] [stdout] test rules::tests::registry_filter_combined ... ok
[INFO] [stdout] test rules::tests::registry_get_by_id ... ok
[INFO] [stdout] test rules::tests::registry_new_has_all_builtin_rules ... ok
[INFO] [stdout] test rules::tests::registry_list_info_includes_category ... ok
[INFO] [stdout] test rules::tests::registry_register_adds_rule ... ok
[INFO] [stdout] test rules::mcp18_prompt_injection_vectors::tests::detects_ignore_previous_instructions ... ok
[INFO] [stdout] test rules::tests::registry_rule_ids_are_unique ... ok
[INFO] [stdout] test rules::tests::rule_default_category_from_owasp_id ... ok
[INFO] [stdout] test rules::tests::registry_filter_by_category ... ok
[INFO] [stdout] test rules::tests::rule_result_pass ... ok
[INFO] [stdout] test rules::tests::rule_result_skip ... ok
[INFO] [stdout] test scanner::tests::test_classify_stdio_config ... ok
[INFO] [stdout] test rules::tests::skipping_rule_evaluate_returns_skip ... ok
[INFO] [stdout] test scanner::tests::test_classify_http_endpoint ... ok
[INFO] [stdout] test rules::tests::scan_findings_sorted_by_severity ... ok
[INFO] [stdout] test scanner::tests::test_discover_skips_non_github_events ... ok
[INFO] [stdout] test scanner::tests::test_discover_servers_from_github_repos ... ok
[INFO] [stdout] test rules::tests::scan_with_severity_filter ... ok
[INFO] [stdout] test scanner::tests::test_extract_server_name_from_url ... ok
[INFO] [stdout] test scanner::tests::test_scan_result_has_critical_findings ... ok
[INFO] [stdout] test scanner::tests::test_discover_skips_empty_url ... ok
[INFO] [stdout] test scanner::tests::test_extract_server_name_fallback ... ok
[INFO] [stdout] test rules::tests::scan_report_severity_counts ... ok
[INFO] [stdout] test scanner::tests::test_classify_default_repository ... ok
[INFO] [stdout] test scanner::tests::test_server_type_display ... ok
[INFO] [stdout] test scanner::tests::test_discover_servers_mixed_events ... ok
[INFO] [stdout] test scanner::tests::test_scan_result_severity_counts ... ok
[INFO] [stdout] test scanner::tests::test_discover_skips_advisories ... ok
[INFO] [stdout] test storage::tests::in_memory_checkpoint_overwrite ... ok
[INFO] [stdout] test storage::tests::in_memory_checkpoint_roundtrip ... ok
[INFO] [stdout] test storage::tests::in_memory_combined_filter ... ok
[INFO] [stdout] test storage::file_store::tests::store_and_retrieve_events ... ok
[INFO] [stdout] test storage::file_store::tests::checkpoint_persists_across_instances ... ok
[INFO] [stdout] test storage::file_store::tests::filter_events_by_since ... ok
[INFO] [stdout] test storage::file_store::tests::events_grouped_by_date ... ok
[INFO] [stdout] test storage::file_store::tests::atomic_write_no_corruption ... ok
[INFO] [stdout] test storage::file_store::tests::events_persist_across_instances ... ok
[INFO] [stdout] test storage::file_store::tests::checkpoint_overwrite ... ok
[INFO] [stdout] test storage::file_store::tests::store_empty_events_is_noop ... ok
[INFO] [stdout] test storage::file_store::tests::filter_events_by_source ... ok
[INFO] [stdout] test storage::file_store::tests::checkpoint_roundtrip ... ok
[INFO] [stdout] test storage::tests::in_memory_filter_by_since ... ok
[INFO] [stdout] test storage::tests::in_memory_store_and_query_events ... ok
[INFO] [stdout] test rules::mcp16_missing_input_validation::tests::passes_additional_properties_false ... ok
[INFO] [stdout] test rules::tests::engine_builtin_category_filter_reduces_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 669 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mcp_audit-dbcb2cc015fa822a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/connection_integration.rs (/opt/rustwide/target/debug/deps/connection_integration-db5f47d9be16502d)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test http_connect_unreachable_server ... ok
[INFO] [stdout] test http_connect_minimal_server ... ok
[INFO] [stdout] test http_connect_server_error ... ok
[INFO] [stdout] test http_connect_jsonrpc_error_response ... ok
[INFO] [stdout] test http_connect_full_server ... ok
[INFO] [stdout] test http_connect_tools_only_server ... ok
[INFO] [stdout] test server_info_is_serializable ... ok
[INFO] [stdout] test http_connect_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/monitor_integration.rs (/opt/rustwide/target/debug/deps/monitor_integration-8768f5aa2458b880)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test in_memory_store_integration ... ok
[INFO] [stdout] test output_json_format_roundtrip ... ok
[INFO] [stdout] test digest_end_to_end ... ok
[INFO] [stdout] test file_store_full_pipeline ... ok
[INFO] [stdout] test output_table_format ... ok
[INFO] [stdout] test render_summary_with_mixed_severities ... ok
[INFO] [stdout] test output_markdown_format ... ok
[INFO] [stdout] test poll_options_defaults ... ok
[INFO] [stdout] test npm_mock_api_response ... ok
[INFO] [stdout] test nvd_mock_api_response ... ok
[INFO] [stdout] test github_monitor_with_mock_server ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scan_integration.rs (/opt/rustwide/target/debug/deps/scan_integration-0f37c68cb22bb87f)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test from_server_command_preserves_complex_args ... ok
[INFO] [stdout] test scan_single_url_http_unencrypted_detected ... ok
[INFO] [stdout] test scan_report_renders_markdown ... ok
[INFO] [stdout] test scan_empty_config_produces_clean_report ... ok
[INFO] [stdout] test scan_single_server_shell_command_detected ... ok
[INFO] [stdout] test scan_single_url_sse_server ... ok
[INFO] [stdout] test from_url_with_port ... ok
[INFO] [stdout] test per_server_results_are_deterministically_sorted ... ok
[INFO] [stdout] test scan_config_file_with_safe_server ... ok
[INFO] [stdout] test scan_multiple_servers_per_server_tracking ... ok
[INFO] [stdout] test severity_filter_high_only_shows_high_and_above ... ok
[INFO] [stdout] test scan_report_renders_sarif ... ok
[INFO] [stdout] test scan_summary_shows_passed_and_failed_counts ... ok
[INFO] [stdout] test scan_report_can_be_written_to_file ... ok
[INFO] [stdout] test scan_report_renders_table ... ok
[INFO] [stdout] test scan_summary_clean_scan ... ok
[INFO] [stdout] test scan_report_renders_json ... ok
[INFO] [stdout] test severity_filter_critical_only ... ok
[INFO] [stdout] test scan_config_file_with_vulnerable_server ... ok
[INFO] [stderr]    Doc-tests mcp_audit
[INFO] [stdout] test scan_single_server_from_command_line ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/connection/mod.rs - connection (line 18) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "beef0ba38d1f915fd5b247222463ecd904ee907bdf554336e8033d39617c2192", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "beef0ba38d1f915fd5b247222463ecd904ee907bdf554336e8033d39617c2192", kill_on_drop: false }`
[INFO] [stdout] beef0ba38d1f915fd5b247222463ecd904ee907bdf554336e8033d39617c2192
